#ifndef _320BD0FC_6F3E_11E1_9DE2_206A8A22A96A
#define _320BD0FC_6F3E_11E1_9DE2_206A8A22A96A

#include <vector>

#include "types.h"

namespace session_mgr
{
    class Config;
    Config& getConfig();
    class Config
    {
    public:
        friend Config& getConfig();
        
        void load(char const* path) throw (char const*);
        std::vector<ClientConnection> const& getClients() const;
        uint16_t getListenPort() const;
        
    private:
        Config() : listenPort(), clients() {}
        
        uint16_t listenPort;
        std::vector<ClientConnection> clients;
        
        static Config instance;
    };
}

#endif
